package com.liaowei.post.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liaowei.model.domain.Post;
import com.liaowei.model.vo.PostVO;
import com.liaowei.post.model.param.PostPageParam;
import com.liaowei.post.model.param.SavePostParam;

import java.util.List;

/**
* @author LindaMan
* @description 针对表【wy_post(帖子表)】的数据库操作Service
* @createDate 2023-05-11 08:31:59
*/
public interface PostService extends IService<Post> {

    // 保存发帖信息
    String savePost(SavePostParam postParam);

    // 条件分页查询帖子列表
    IPage<Post> searchPostPage(PostPageParam pageParam);

    // 查询帖子详细信息以及和用户的状态
    PostVO searchPostVo(Long postId, Long userId);

    // 根据id查询帖子
    Post searchPostVoById(Long postId);

    // 删除帖子
    String removePostByIdAndUserId(Long postId, Long userId);

    // 根据userId查询帖子数量
    Long searchCountOfPostByUserId(Long userId);

    // 通过id列表查询帖子列表
    List<Post> searchPostListByIds(List<Long> postIds);

    // 通过标题分页查询帖子列表
    IPage<Post> searchPostPageByTitle(String title,int pageNum,int pageSize);

    // 查询贴吧热议榜
    List<PostVO> searchHotPostList();

    // 查询自己发布的帖子
    List<Post> searchOwnPostList(Long userId,String title);

    // 查询帖子相关推荐列表
    List<PostVO> searchRecommendPostList(Long userId);
}
